package com.diary.database;

import com.diary.DBUtils;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class ReviseDiary {
    //更改日记，分两种，一种是接着上次的继续写（在控制台中不好实现，因为按下回车，之前的内容就再也无法更改了）
    //不过这个先待定，之后再试试
    // 简单的方法：套用一下写日记，但是id是以前的id，是给定的

    private static void add_body() {
        // 这个方法旨在使用添加模式，先将之前的未完成的部分输出，然后在其后进行继续输入
        // 但是在控制台中较难实现，因为之前输入的内容只要按下回车就会进行发送，不再能更改



    }

    //简单的方法，直接使用重写
    public static void re_write(String username,String id,String diary_title,String body, String datatime,String accept) {
        Connection connection = null;
        PreparedStatement preparedStatement = null;
        ResultSet resultSet = null;

        try {
            connection = DBUtils.getConnection();

            String sql = "UPDATE `" + username + "` SET diary_title = ?, diary_body = ?, data_time = ?, accepted = ? WHERE id = ?";
            preparedStatement = connection.prepareStatement(sql);
            preparedStatement.setString(1,diary_title);
            preparedStatement.setString(2,body);
            preparedStatement.setString(3,datatime);

            // 第四位为允许查看的用户，默认为仅允许自己查看
            // 后续添加此功能
            preparedStatement.setString(4,accept);

            preparedStatement.setString(5,id);

            int target = preparedStatement.executeUpdate();
            if (target == 1){
                System.out.println("日记更新成功");
            }
            else {
                System.out.println("日记更新失败，请更换较好的网络环境重新尝试或联系管理人员");
            }

        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
